package staticFactory;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");

        //测试单例模式(用s2修改对象的名字，用s1再获取发现： s1和s2对应的对象名都变了<证明s1和s2指向同一个对象>)
        //测试prototype原型模式(用s2修改对象的名字，用s1再获取发现： s1对应的对象名没变(s2对应的对象名变了)。
        // 证明s1指向一个Student对象, s2指向另一个Student对象)
        Student s1=ac.getBean(Student.class);
        /*Student s2=ac.getBean(Student.class);        //64页单例模式案例要测试的代码

        System.out.println(s1.getStuName());
        s2.setStuName("延职");
        System.out.println(s1.getStuName());*/

        ((ClassPathXmlApplicationContext)ac).registerShutdownHook();
    }
}

